1. Field of the Invention
The present invention relates to a server-based computing system in which a client apparatus, which makes a service request to a server apparatus, and the server apparatus, which executes an application program based on the service request, are interconnected via a network.
2. Description of the Related Art
In recent years, adoption of a server-based computing system by businesses is accelerated.
A server-based computing system (thin client system) is a system in which a client apparatus and a server apparatus are interconnected via a network. In the server-based computing system, when the client apparatus makes a service request to the server apparatus, the server apparatus manages data and executes an application program based on the service request from the client apparatus.
For example, Jpn. Pat. Appln. KOKAI Publication No. 2004-349965 discloses a technique used in the thin client system.
FIG. 1 is a view for schematically explaining a thin client system.
A user operates a client apparatus 1 (also called as a thin client terminal or a thin client apparatus) to utilize a service served by an application which is executed in a server apparatus 2. When the user operates a keyboard or a mouse of the client apparatus 1, the client apparatus 1 transmits input information according to the operation by the user to the server apparatus 2 via a network 3. The server apparatus 2 creates display data to be displayed by the client apparatus 1. The created display data is send to the client apparatus 1 via the network 3. The client apparatus 1 receives the display data created by the server apparatus 2 and displays the display data. The client apparatus 1 needs to merely include network equipment, a display device and an input device such as a mouse or a keyboard. The client apparatus 1 does not store data therein and therefore does not need storage such as a hard disk. The client apparatus 1 does not execute application program; accordingly processing load can be reduced.
In the server-based computing system, the server apparatus unifies the management of resources such as data and an application program. Therefore, an operational cost or a management cost can be saved. Moreover, as the client apparatus 1 employed is not a complicated and expensive personal computer but a low-cost terminal apparatus. The terminal apparatus includes minimal functions such as a display function and an input function. Accordingly, a procurement cost can be lowered in comparison with the personal computer.
Adoption of the server-based computing system improves information security. In the server-based computing system, the client apparatus 1 does not store data therein so that the leak of information can be effectively prevented. A risk due to an unauthorized access can be decreased by restricting the client apparatus 1 to access data stored in the server apparatus 2, or by logging an access to the server apparatus 2. The server apparatus 2 may centrally deal with overall computer viruses.
A problem of transmission delay may arise in data communication between the client apparatus 1 and the server apparatus 2 via the network 3. When the user operates the client apparatus 1, input information corresponding to the operation by the user is sent to the server apparatus 2 via the network 3. The server apparatus 2 receives the input information after a lapse of a delay time of the network 3 from the moment of the operation by the user.
For example, in a server-based computing system in which Japanese-language input is available, the server apparatus 2 executes kana-kanji conversion. Namely, the transmission delay reduces the conversion efficiency. To solve the problem, Jpn. Pat. Appln. KOKAI Publication No. 2003-323402 discloses the following technique. That is, the client apparatus 1 is provided with a pseudo environment (GUI emulator) of a graphical user interface (GUI) of the server apparatus 2, and the client apparatus 1 executes the kana-kanji conversion. The client apparatus 1 sends definite information (converted kanji) to the server apparatus 2, thus the problem of the transmission delay can be decreased.
However, when the network 3 is a mobile communication network, the transmission delay time may suddenly increase in the following cases, i.e., in the case of data retransmission when a transmission error occurs within a wireless zone, or in the case of zone switching performed when a terminal (client apparatus 1) is moving, for example. When the transmission delay time of the network 3 varies, the arrival of input information at the server apparatus 2 varies temporally. Therefore, the server apparatus 2 may perform an operation which the user does not intend.
FIGS. 2A and 2B are views showing communication packets transmitted when a user clicks a mouse button of the client apparatus 1. FIG. 3 is a view showing an example of a sudden fluctuation in the transmission delay time. The operation of mouse button clicking by the user includes a button press event of pressing the mouse button; and a button release event of releasing the mouse button. Information of the respective events is transmitted in separate packets (for example, transmission control protocol (TCP) packets) over the network 3.
When the user presses the mouse button of the client apparatus 1, the client apparatus 1 sends the first communication packet shown in FIG. 2A as input information to the server apparatus 2. The first communication packet contains a packet header and button press event information. When the user releases the mouse button, the client apparatus 1 sends the second communication packet shown in FIG. 2B to the server apparatus 2. The second communication packet contains a packet header and button release event information.
The information of click operation is divided into button press event information and button release event information. The divided two items of information are separately transmitted over the network 3 in the form of first and second communication packets. As shown in FIG. 3, when a sudden fluctuation in transmission delay time occurs between the reception of the first communication packet and the reception of the second communication packet, the transmission delay of the second communication packet (button release event) may become longer than the transmission delay of the first communication packet (button press event). Even though the period from a time when the user presses the mouse button to a time when the user releases the mouse button is short (click operation is performed), the server apparatus 2 may react as if the mouse button is pressed for a longer time. For example, in the case where the user clicks the scroll bar up or down button, even though the user intends to scroll slightly, the server apparatus 2 may recognize that the user continues pressing the scroll button. Accordingly, the server apparatus 2 outputs screen information resulting from continuous scrolling.